Data Processing System with Machine Learning Engine to Provide Roadside Assistance Functions

ABSTRACT

Systems, methods, computer-readable media, and apparatuses for receiving requests for roadside assistance, generating user interfaces and using machine learning to generate roadside assistance instructions are provided. In some examples, a request for roadside assistance may be received. A user and one or more partners may be identified based on the request. In some examples, a profile associated with the user, partner or the like may be identified. A user interface may be generated based on the profile and may include features unique to the profile, partner, or the like. In some arrangements, the interface may include a first portion and a second portion. Selection of an option from the first portion may cause the system to identify data for display in the second portion and cause the data to be displayed in the second portion. Machine learning may be used to determine or identify one or more roadside assistance instructions and a roadside assistance instruction may be generated and executed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to co-pendingU.S. application Ser. No. 17/000,783, filed Aug. 24, 2020, and entitled“Data Processing System with Machine Learning Engine to Provide RoadsideAssistance Functions,” which is a continuation of and claims priority toU.S. application Ser. No. 16/857,659, filed Apr. 24, 2020, and entitled“Data Processing System with Machine Learning Engine to Provide RoadsideAssistance Functions,” which is a continuation of and claims priority toU.S. application Ser. No. 16/391,958, filed Apr. 23, 2019, and entitled“Data Processing System with Machine Learning Engine to Provide RoadsideAssistance Functions,” which is a non-provisional of and claims priorityto U.S. Provisional Application No. 62/662,345, filed Apr. 25, 2018, andentitled “Data Processing System with Machine Learning Engine to ProvideRoadside Assistance Functions,” all of which are incorporated herein byreference in their entirety.

TECHNICAL FIELD

Aspects of the disclosure generally relate to one or more computersystems, servers, and/or other devices including hardware and/orsoftware. In particular, aspects are directed to processing roadsideassistance requests and using machine learning to generate instructions.

BACKGROUND

When a person is having an issue with a vehicle and needs assistance orservice, time is of the essence. Even small steps taken to reduce waittime for a user and get the vehicle issue addressed more quickly canmake a difference. Conventional roadside assistance systems rely on aroadside assistance associate who may be bound by a script includingquestions that must be asked in a particular order. The information maythen be input into the system in the required order. However, thisprocess can be inefficient and time consuming for the user.

In addition, conventional systems rely on roadside assistance associatesto identify and/or dispatch appropriate service providers to address theneeds of the user. This is prone to error which can cause furtherdelays.

Accordingly, it would be advantageous to provide a system in whichnecessary information is captured in an efficient way and machinelearning is used to evaluate roadside assistance requests and generateroadside assistance instructions.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosure. The summary is not anextensive overview of the disclosure. It is neither intended to identifykey or critical elements of the disclosure nor to delineate the scope ofthe disclosure. The following summary merely presents some concepts ofthe disclosure in a simplified form as a prelude to the descriptionbelow.

Aspects of the disclosure relate to methods, computer-readable media,systems, and apparatuses for receiving requests for roadside assistance,generating user interfaces and using machine learning to generateroadside assistance instructions.

In some examples, a request for roadside assistance may be received. Insome arrangements, a user may be identified based on the request orinformation associated with the request. One or more partner entitiesassociated with the user and/or the request may also be identified.

In some examples, a profile associated with the user, partner or thelike may be identified. A user interface may be generated based on theprofile. In some examples, the user interface may be generated toinclude features (e.g., data, fields, or the like) unique to theprofile, partner, or the like. In some arrangements, the interface mayinclude a first portion and a second portion.

In some arrangements, selection of an option from the first portion maycause the system to identify data for display in the second portion andcause the data to be displayed in the second portion. Machine learningmay be used to determine or identify one or more roadside assistanceinstructions and a roadside assistance instruction may be generated andexecuted.

These and other features and advantages of the disclosure will beapparent from the additional description provided herein.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention and theadvantages thereof may be acquired by referring to the followingdescription in consideration of the accompanying drawings, in which likereference numbers indicate like features, and wherein:

FIGS. 1A and 1B illustrate an illustrative computing environment forimplementing roadside assistance functions, according to one or moreaspects described herein.

FIGS. 2A-2F depict an illustrative event sequence for performingroadside assistance functions, according to one or more aspectsdescribed herein.

FIG. 3 illustrates one example flow chart illustrating an example methodof executing roadside assistance control functions, according to one ormore aspects described herein.

FIGS. 4A and 4B illustrate example user interfaces for capturingroadside assistance request information and displaying generatedrecommendations, according to one or more aspects described herein.

FIG. 5 illustrates a network environment and computing systems that maybe used to implement aspects of the disclosure.

DETAILED DESCRIPTION

In the following description of the various embodiments, reference ismade to the accompanying drawings, which form a part hereof, and inwhich is shown by way of illustration, various embodiments of thedisclosure that may be practiced. It is to be understood that otherembodiments may be utilized.

As discussed above, conventional roadside assistance systems often relyon use of a script that requires information to be gathered and/or inputin a particular order. This can be time consuming and inefficient. Inaddition, identification of an appropriate roadside assistance inconventional systems is often performed inefficiently.

Accordingly, aspects described herein are directed to processingrequests for roadside assistance. In some examples, a user may beidentified based on the request. A partner entity, such as a cellularservice provider, vehicle manufacturer, or the like, may also beidentified. In some arrangements, a profile may be identified. Aninteractive user interface may then be generated based on the profile.

In some examples, the user interface may be generated to include data,fields, or the like particular to the profile, partner, or the like.Accordingly, information may be pre-populated based on the profile. Thismay aid in reducing an amount or type of data to be obtained from theuser requesting assistance, may increase accuracy of required equipment,processes, and the like, and may improve efficiency associated with theprocess.

In some examples, the user interface may include a first portion havinga plurality of selectable options, and a second portion. Each option ofthe plurality of selectable options may be selectable at any time in theprocess. Accordingly, a user providing information may provide theinformation in any order and the information may be input in any order,thereby eliminating the inefficiencies associated with requiring entryof information in a particular order found in conventional systems.

Additionally or alternatively, natural language recognition may be usedto capture data from the requesting user and input the data into thesystem. Again, this may improve the efficiency and accuracy with whichinformation is captured.

In some examples, a selection of an option from the first portion maycause the system to identify or determine data for display in the secondportion. The data may then be displayed in the second portion. In someexamples, some data may be pre-populated while other data may be inputby a user.

Once data associated with the request has been captured, machinelearning may be used to generate a roadside assistance instruction. Theroadside assistance instruction may include a particular provider, typeof equipment, or the like, to provide the requested service. Forinstance, the system may evaluate the location of a user, determine thatthe user is in a parking garage having vehicle height restrictions andmay identify and dispatch an appropriate vehicle meeting the heightrequirements, based on a machine learning output.

These and other aspects will be described more fully herein.

FIGS. 1A-1B depict an illustrative computing environment forimplementing and using a roadside assistance control system inaccordance with one or more aspects described herein. Referring to FIG.1A, computing environment 100 may include one or more computing devicesand/or other computing systems. For example, computing environment 100may include a roadside assistance computing platform 110, an internaldata computing device 120, a first local user computing device 150, asecond local user computing device 155, an external data computingdevice 140, a remote user computing device 170, and a remote usercomputing device 175.

Roadside assistance computing platform 110 may be configured to hostand/or execute one or more modules including instructions for providingvarious roadside assistance request evaluation and execution functions.In some examples, roadside assistance computing platform 110 may beconfigured to receive a request for roadside assistance, identify a userassociated with the request, identify a partner entity associated withthe user or the request, and generate an interactive user interfacebased on the identified information. In some examples, the generateduser interface may be particular to an identified partner or profile ofthe identified partner.

In some examples, the roadside assistance computing platform 110 maygenerate a multi-part user interface. For instance, the user interfacemay include a first portion and a second portion. In some examples, thefirst portion may include a plurality of selectable options. In somearrangements, the selectable options presented may be based on theidentified partner or partner profile. Further, the second portion maybe populated based on selection of one selectable option from the firstportion. In some arrangements, the plurality of selectable options inthe first portion may be selected for inputting additional informationrelated to the roadside assistance request in any order.

In some arrangements, information related to the roadside assistancerequest may be input into the roadside assistance computing platform 110and a roadside assistance response may be generated and/or executed. Forinstance, in some examples, one or more machine learning datasets may beused to identify an appropriate piece of equipment to dispatch, identifya service provider, and the like.

Internal data computing device 120 may have, store and/or include dataassociated with or obtained by an entity implementing the roadsideassistance computing platform 110 and/or stored by the entity. In someexamples, internal data computing device 120 may include data associatedwith customers, one or more insurance claims, accident histories andassociated damages, costs, etc., user information, and the like. In someexamples, internal data computing device 120 may include multiplecomputing devices storing various different types of data. In otherexamples, internal data computing device 120 may store the various typesof data. In still other examples, internal data computing device 120 mayquery databases in one or more other computing devices, systems, or thelike, to obtain data that may be used in one or more processes describedherein.

External data computing device 140 may have, store and/or include datafrom outside of or external to the entity. For instance, external datacomputing device 140 may store or provide access to publicly availableinformation, such as weather, traffic, population, demographicinformation, and the like. In some examples, external data computingdevice 140 may access information from various sources, such as viapublic network 195.

Local user computing device 150 and local user computing device 155 maybe computing devices associated with an entity implementing or operatingthe roadside assistance computing platform 110. For instance, local usercomputing device 150, 155 may be computing devices used by roadsideassistance associates to receive roadside assistance requests, processrequests, execute instructions associated with roadside assistancerequests, and the like.

Remote user computing device 170 and remote user computing device 175may be computing devices not associated with the entity implementing oroperating the roadside assistance computing platform 110 (e.g., owned bya customer, service provider, vendor, or the like, rather than theentity). Remote user computing device 170, 175 may be computing devicesassociated with a user requesting roadside assistance (e.g., a mobiledevice of a user), with a roadside assistance service provider (e.g., aservice center computing device), or the like.

Local user computing device 150, 155, internal data computing system120, external data computing system 140, remote user computing device170, and remote user computing device 175 may be configured tocommunicate with and/or connect to one or more computing devices orsystems shown in FIG. 1A. For instance, local user computing device 150,155 and/or internal data computing device 120 may communicate with oneor more computing systems or devices via network 190, while remote usercomputing device 170, remote user computing device 175, and/or externaldata computing device 140 may communicate with one or more computingsystems or devices via network 195.

In one or more arrangements, internal data computing device 120, localuser computing device 150, local user computing device 155, externaldata computing device 140, remote user mobile computing device 170,and/or remote user computing device 175 may be any type of computingdevice or combination of devices capable of performing the particularfunctions described herein. For example, internal data computing device120, local user computing device 150, local user computing device 155,external data computing device 140, remote user mobile computing device170, and/or remote user computing device 175 may, in some instances, beand/or include server computers, desktop computers, laptop computers,tablet computers, smart phones, or the like that may include one or moreprocessors, memories, communication interfaces, storage devices, and/orother components. As noted above, and as illustrated in greater detailbelow, any and/or all of roadside assistance computing platform 110,internal data computing device 120, local user computing device 150,local user computing device 155, external data computing device 140,remote user computing device 170, and/or remote user computing device175 may, in some instances, be or include special-purpose computingdevices configured to perform specific functions.

Computing environment 100 also may include one or more computingplatforms. For example, and as noted above, computing environment 100may include roadside assistance computing platform 110. As illustratedin greater detail below, roadside assistance computing platform 110 mayinclude one or more computing devices configured to perform one or moreof the functions described herein. For example, roadside assistancecomputing platform 110 may have or include one or more computers (e.g.,laptop computers, desktop computers, tablet computers, servers, serverblades, or the like).

As mentioned above, computing environment 100 also may include one ormore networks, which may interconnect one or more of roadside assistancecomputing platform 110, internal data computing device 120, local usercomputing device 150, local user computing device 155, external datacomputing device 140, remote user computing device 170, and/or remoteuser computing device 175. For example, computing environment 100 mayinclude private network 190 and public network 195. Private network 190and/or public network 195 may include one or more sub-networks (e.g.,Local Area Networks (LANs), Wide Area Networks (WANs), or the like).Private network 190 may be associated with a particular organization(e.g., a corporation, financial institution, educational institution,governmental institution, or the like) and may interconnect one or morecomputing devices associated with the organization. For example,roadside assistance computing platform 110, internal data computingdevice 120, local user computing device 150, and/or local user computingdevice 155, may be associated with an organization (e.g., a financialinstitution), and private network 190 may be associated with and/oroperated by the organization, and may include one or more networks(e.g., LANs, WANs, virtual private networks (VPNs), or the like) thatinterconnect roadside assistance computing platform 110, internal datacomputing device 120, local user computing device 150, and/or local usercomputing device 155, and one or more other computing devices and/orcomputer systems that are used by, operated by, and/or otherwiseassociated with the organization. Public network 195 may connect privatenetwork 190 and/or one or more computing devices connected thereto(e.g., roadside assistance computing platform 110, internal datacomputing device 120, local user computing device 150, local usercomputing device 155) with one or more networks and/or computing devicesthat are not associated with the organization. For example, externaldata computing device 140, remote user computing device 170, and/orremote user computing device 175 might not be associated with anorganization that operates private network 190 (e.g., because externaldata computing device 140, remote user computing device 170 and remoteuser computing device 175 may be owned, operated, and/or serviced by oneor more entities different from the organization that operates privatenetwork 190, such as one or more customers of the organization, publicor government entities, and/or vendors of the organization, rather thanbeing owned and/or operated by the organization itself or an employee oraffiliate of the organization), and public network 195 may include oneor more networks (e.g., the internet) that connect external datacomputing device 140, remote user computing device 170 and remote usercomputing device 175 to private network 190 and/or one or more computingdevices connected thereto (e.g., roadside assistance computing platform110, internal data computing device 120, local user computing device150, and/or local user computing device 155).

Referring to FIG. 1B, roadside assistance computing platform 110 mayinclude one or more processors 111, memory 112, and communicationinterface 113. A data bus may interconnect processor(s) 111, memory 112,and communication interface 113. Communication interface 113 may be anetwork interface configured to support communication between roadsideassistance computing platform 110 and one or more networks (e.g.,private network 190, public network 195, or the like). Memory 112 mayinclude one or more program modules having instructions that whenexecuted by processor(s) 111 cause roadside assistance computingplatform 110 to perform one or more functions described herein and/orone or more databases that may store and/or otherwise maintaininformation which may be used by such program modules and/orprocessor(s) 111. In some instances, the one or more program modulesand/or databases may be stored by and/or maintained in different memoryunits of roadside assistance computing platform 110 and/or by differentcomputing devices that may form and/or otherwise make up roadsideassistance computing platform 110.

For example, memory 112 may have, store, and/or include a userinformation module 112 a. The user information module 112 a may storeinstructions and/or data that may cause or enable the roadsideassistance computing platform 110 to receive information from a userrequesting roadside assistance. In some examples, the data may bereceived via a roadside assistance associate who may, in some examples,input the data via one or more user interfaces. In other examples, theinformation may be provided by a user requesting roadside assistance andmay be extracted using natural language recognition. In other examples,the information may be input to a user computing device, such as remoteuser computing device 170, 175, and may be transmitted to the roadsideassistance computing platform 110.

Roadside assistance computing platform 110 may further have, storeand/or include a user identification module 112 b. User identificationmodule 112 b may store instructions and/or data that may cause or enablethe roadside assistance computing platform 110 to evaluate the receiveduser information and identify a user and user profile associated withthe user information. For instance, a user may pre-register with theroadside assistance computing platform 110, or application executing onthe remote user computing device 170, 175 associated with the roadsideassistance computing platform 110 and may store information such asname, contact information, vehicle information (e.g., make, model,etc.), one or more partner entities or providers (e.g., insuranceproviders, cell service providers, or the like). This information may bestore and may be extracted based on the received user informationassociated with the roadside assistance request.

Roadside assistance computing platform 110 may further have, storeand/or include a profile identification module 112 c. Profileidentification module 112 c may include instructions and/or data thatmay cause or enable the roadside assistance computing platform 110 toidentify a profile associated with the requesting user and one or morepartner entities associated with the user. The profile may include datafor pre-populating one or more portions of an interactive userinterface, may identify known and unknown information associated withthe user, may identify coverages or other services available to theuser, and the like.

Roadside assistance computing platform 110 may further have, storeand/or include user interface generation module 112 d. User interfacegeneration module 112 d may include instructions and/or data that maycause or enable the roadside assistance computing platform 110 togenerate one or more interactive user interfaces based on the identifiedprofile. For instance, a user interface may be generated that isspecific to a user profile, partner entity, or the like. Generating theuser interface may include generating an interface with one or morefields particular to the user or partner entity. In some examples,generating the user interface may include pre-populating one or morefields based on the profile, user or partner entity. In some examples,the generating user interface may include a first portion and a secondportion. In some examples, the first portion may include a plurality ofuser selectable options based on the profile. Selection of an optionfrom the first portion may cause the second portion to populate. In someexamples, the information populating the second portion may be based, atleast in part, on the identified profile.

Roadside assistance computing platform 110 may further have, storeand/or include a user interface control module 112 e. User interfacecontrol module 112 e may store instruction and/or data that may cause orenable the roadside assistance computing platform 110 to control aspectsof a user interface. For instance, as discussed above, selection of oneoption from the plurality of selectable options in the first portion maycause the second portion to populate. In some examples, user interfacecontrol module 112 e may evaluate selections made from the firstportion, may identify fields for display in the second portion, mayidentify data for pre-population in the second portion, may generateand/or execute instructions to display the second portion, and the like.

Roadside assistance computing platform 110 may further have, storeand/or include a machine learning engine 112 f and machine learningdatasets 112 g. Machine learning engine 112 f and machine learningdatasets 112 g may store instructions and/or data that cause or enableroadside assistance computing platform 110 to evaluate data, as datareceived from the user related to the roadside assistance issue, datafrom one or more other sources, such as internal data computing device120, external data computing device 140, and the like, and generate oneor more roadside assistance recommendation outputs. The machine learningdatasets 112 g may be generated based on analyzed data (e.g., data frompreviously received roadside assistance requests, historical data, andthe like), raw data, and/or received from one or more outside sources.

The machine learning engine 112 f may receive data (e.g., data from auser in a roadside assistance request, internal data computing device120, external data computing device 140, and the like) and, using one ormore machine learning algorithms, may generate one or more machinelearning datasets 112 g. Various machine learning algorithms may be usedwithout departing from the invention, such as supervised learningalgorithms, unsupervised learning algorithms, regression algorithms(e.g., linear regression, logistic regression, and the like), instancebased algorithms (e.g., learning vector quantization, locally weightedlearning, and the like), regularization algorithms (e.g., ridgeregression, least-angle regression, and the like), decision treealgorithms, Bayesian algorithms, clustering algorithms, artificialneural network algorithms, and the like. Additional or alternativemachine learning algorithms may be used without departing from theinvention. In some examples, the machine learning engine 112 f mayanalyze data to identify patterns of activity, sequences of activity,and the like, to generate one or more machine learning datasets 112 g.

The machine learning datasets 112 g may include machine learning datalinking one or more outcomes of a roadside assistance request to one ormore outputs. For instance, data may be used to generate one or moremachine learning datasets 112 g linking data from certain types ofservices requests, particular locations, particular vehicle data andspecifications, and the like, to a particular type of equipment needed,a particular service provider to dispatch, or the like. This informationmay be used to efficiently generate roadside assistance instructions,execute instructions and dispatch service providers to address roadsideassistance requests.

The machine learning datasets 112 g may be updated and/or validatedbased on later-received data. For instance, as additional data collectedfrom subsequent roadside assistance requests may be used to validateand/or update the machine learning datasets 112 g based on the newlyreceived information. Accordingly, the system may continuously refinedeterminations, outputs, and the like.

The machine learning datasets 112 g may be used by, for example, adispatch execution module 112 h stored or included in memory 112. Thedispatch execution module 112 h may store instructions and/or dataconfigured to cause or enable the roadside assistance computing platform110 to generate one or more instructions related to roadside assistanceresolution, transmit the one or more instructions to one or moredevices, and execute the instructions, thereby causing a serviceprovider to dispatch a roadside assistance provider to address therequest for roadside assistance.

FIGS. 2A-2F illustrate one example event sequence for performingroadside assistance control functions in accordance with one or moreaspects described herein. The sequence illustrated in FIGS. 2A-2F ismerely one example sequence and various other events may be included, orevents shown may be omitted, without departing from the invention.

With reference to FIG. 2A, in step 201, a request for roadsideassistance may be received.

In some examples, the request may be received via a remote usercomputing device 170. For instance, the request may be received via amobile device of a user. In some examples, the request for roadsideassistance may be made via an application downloaded to the remote usercomputing device 170 and executing on the remote user computing device170. In other examples, the request may be made via a telephone call toa roadside assistance phone number.

At step 202, the request may be transmitted to the roadside assistancecomputing platform 110. At step 203, the request may be received by theroadside assistance computing platform 110 and may be processed.

At step 204, a user associated with the request may be identified. Forinstance, a name of a user may be extracted from the roadside assistancerequest. In another example, a unique identifier associated with theremote user computing device 170 may be extracted from the request forroadside assistance and may be used to identify a user associated withthe remote user computing device 170.

At step 205, one or more partner entities may be identified. Forinstance, based on one or more of the user requesting roadsideassistance, a channel through which the request was received, a type ofrequest, or the like, one or more partner entities may be identified.Partner entities may include insurance provider, cellular serviceproviders, vehicle manufacturer, and the like.

With reference to FIG. 2B, at step 206, a profile associated with theuser and/or the identified partner may be identified. The profile mayinclude unique requirements, criteria, services, or the like, associatedwith the partner or user. In step 207, the identified profile may beused to generate an interactive user interface. For instance, the userinterface may be generated based on requirements, fields, known orpredetermined data, and the like, associated with the profile.Accordingly, the user interface generated may be specific to theprofile, partner, or the like. In some examples, the user interface mayhave more than one portion (e.g., a first portion and a second portion).In some examples, some or all of each portion may be pre-populated withdata associated with the user, vehicle, request for assistance, and thelike.

At step 208, the generated user interface may be transmitted local usercomputing device 150. For instance, the generated user interface may betransmitted to a roadside assistance associate computing device. At step209, the generated user interface may be displayed on the local usercomputing device 150. The user interface may then be used to inputadditional information related to the roadside assistance request, user,and the like.

At step 210, a first request for additional information may begenerated. For instance, based on the generated user interface, a firstrequest for additional information may be generated.

With reference to FIG. 2C, at step 211, the first request for additionalinformation may be transmitted to the remote user computing device 170.At step 212, first additional information request response data may bereceived by the remote user computing device. For instance, the firstrequest for additional information may include a request for additionaldetails related to the request for roadside assistance. Accordingly, thefirst additional information request response data may includeadditional details associated with the problem, or the like. In someexamples, the first request for additional information response data mayinclude location information based on global positioning system (GPS)data captured by the remote user computing device 170.

At step 213, the first additional information request response data maybe transmitted to the local user computing device 150. In response toreceiving the first additional information request response data, afirst option from a plurality of selectable options in a first portionof the user interface may be selected in step 214. At step 215, theselected first option may be transmitted to the roadside assistancecomputing platform 110.

At step 216, the selection of the first option may be received by theroadside assistance computing platform 110 and may be processed.Processing the selection may include identifying data (e.g.,information, fields, and the like) to display in a second portion of thegenerated user interface.

With reference to FIG. 2D, at step 217, the identified data (e.g.,information, fields, and the like) may be transmitted to local usercomputing device 150. At step 218, the second portion of the userinterface may be populated with the data transmitted in step 217 and maybe displayed on the local user computing device 150.

At step 219, a second request for additional information may begenerated by local user computing device 150. The second request foradditional information may be generated based on the informationdisplayed in the second portion of the user interface. For instance, ifa user requests roadside assistance and the first request for additionalinformation response data includes an indication that the vehicle has aflat tire, a second request for additional information may include arequest for information related to which tire, whether the vehicleincludes a spare, and the like.

At step 220, the second request for additional information may betransmitted to the remote user computing device 170. At step 221, secondrequest for additional information response data may be received by theremote user computing device 170 and may be transmitted to local usercomputing device 150 at step 222.

With reference to FIG. 2E, at step 223, the received second request foradditional information response data may be processed and, at step 224,the processed data may be transmitted to the roadside assistancecomputing platform 110.

At step 225, one or more machine learning datasets may be used toidentify a roadside assistance instruction or output based on thereceived information, processed information, and the like, related tothe request. For instance, based on the received information, themachine learning datasets may be used to identify a type of assistance,particular pieces of equipment needed (e.g., tow truck vs. flatbed, orthe like), a preferred roadside assistance provider, and the like. Atstep 226, the generated instruction may be transmitted to the local usercomputing device 150. At step 227, the instruction may be received andexecuted by the local user computing device 150. In some examples,executing the instruction may include generating and transmitting acommand, instruction, or signal to a remote user computing device, suchas a roadside assistance provider computing device, to dispatch aparticular provider.

With reference to FIG. 2F, at step 228, a notification related to theroadside assistance instruction may be generated. For instance, anestimated time of arrival, name of the roadside assistance provider, andthe like may be provided in a notification. At step 229, thenotification may be transmitted to the remote user computing device 170.At step 230, the notification may be displayed on the remote usercomputing device 170.

At step 231, one or more machine learning datasets may be updated orvalidated. For instance, based on the generated instruction, informationreceived associated with the request, processed information, and thelike, one or more machine learning datasets may be updated and/orvalidated.

FIG. 3 illustrates one example process for evaluating roadsideassistance requests and generating and executing roadside assistanceinstructions according to one or more aspects described herein. Thesteps described with respect to FIG. 3 may be performed by one or moreof the various devices described herein, such as the roadside assistancecomputing platform 110, and the like. In some examples, one or more ofthe processes or steps described may be performed in real-time or nearreal-time.

In step 300, a request for roadside assistance may be received. Asdiscussed herein, the request may be received from a remote usercomputing device 170. At step 302, a user associated with the requestmay be identified. For example, a user name may be extracted frominformation provided via the request. In another example, a uniqueidentifier associated with the device from which the request wasreceived may be used to identify the user associated with the device.

At step 304, a partner entity may be identified. In some examples, apartner entity may be a cellular service provider, vehicle manufacturer,insurance provider, or the like. The partner may be identified based onthe identity of the user (e.g., the user may be associated with one ormore partner entities), based on vehicle information associated with theuser, based on parameters or characteristics of the received request(e.g., provider through which a request was received), or the like.

At step 306, a profile may be identified. The profile may be based onthe user, partner, or the like. In step 308, a user interface may begenerated. In some examples, the user interface may be generated basedon the identified profile. For instance, the user interface may havefeatures, aspects, fields, data, layout, or the like that is particularto a profile (e.g., based on the user, partner, or the like). In someexamples, the generated user interface may include a first portionhaving a plurality of selectable options and a second portions. In somearrangements, when the user interface is generated in step 308, thefirst portion may be populated while the second portion may remainunpopulated (e.g., only the first portion may be populated with data).

At step 310, selection of a first option from the plurality ofselectable options in the first portion of the user interface may bereceived. In some examples, any option of the plurality of selectableoptions, may be selected. For instance, the options may be selected inany order, without order (e.g., randomly), or the like, withoutnegatively impacting the process of generating the roadside assistanceinstruction, identifying data for display in the second portion, or thelike.

The selection may be processed and, in step 312, data to populate thesecond portion of the user interface may be identified. For instance,particular fields, pieces of information, and the like, may beidentified for display in the second portion of the user interface. Theidentified information may be transmitted and displayed in the userinterface.

At step 314, additional information may be received. For instance,additional details related to the roadside assistance request may bereceived. This information may be processed and, in step 316, one ormore machine learning datasets may be used to generate a roadsideassistance instruction. For instance, one or more machine learningdatasets may be used to generate a roadside assistance instruction basedon the roadside assistance request, received additional information,processed information, and the like. At step 318, the generatedinstruction may be transmitted to a computing device and executed on thedevice.

FIGS. 4A and 4B illustrate an example user interface that may begenerated in accordance with one or more aspects described herein. Asshown in FIGS. 4A and 4B, the interface 400 may include two portions, afirst portion 402 and a second portion 404. As shown in FIG. 4A,interface 400 a includes only the first portion populated. The firstportion includes a plurality of selectable options that may be selectedin any order.

FIG. 4B illustrates the user interface 400 b after a selection has beenmade from the first portion. In the example shown, option 410 has beenselected from the first portion. Selection of option 410 may cause thesecond portion 404 to populate with particular fields, data, and thelike. In some examples, information may be pre-populated (e.g., that thevehicle is 4 wheel drive). Additionally or alternatively, machinelearning may be used to generate a recommendation for service. In theexample of interface 400 b, one or more machine learning datasets areused to determine that a flatbed truck will be necessary to service thevehicle.

FIG. 5 illustrates a block diagram of a computing device (or system) 501in a computer system 500 that may be used according to one or moreillustrative embodiments of the disclosure. The computing device 501 mayhave a processor 503 for controlling overall operation of the computingdevice 501 and its associated components, including RAM 505, ROM 507,input/output module 509, and memory 515. The computing device 501, alongwith one or more additional devices (e.g., terminals 550 and 551,security and integration hardware 560) may correspond to any of multiplesystems or devices, such as a user personal mobile computing device,computing platform, or a computer server, configured as described hereinfor receiving requests for roadside assistance, generating requests foradditional information, hosting a machine learning engine to generateroadside assistance instructions, generate user interfaces, and thelike.

Input/Output (I/O) 509 may include a microphone, keypad, touch screen,and/or stylus through which a user of the computing device 501 mayprovide input, and may also include one or more of a speaker forproviding audio output and a video display device for providing textual,audiovisual and/or graphical output. Software may be stored withinmemory 515 and/or storage to provide instructions to processor 503 forenabling computing device 501 to perform various actions. For example,memory 515 may store software used by the computing device 501, such asan operating system 517, application programs 519, and an associatedinternal database 521. The various hardware memory units in memory 515may include volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer readable instructions, data structures, program modules orother data. Certain devices/systems within roadside assistance computingsystem may have minimum hardware requirements in order to supportsufficient storage capacity, analysis capacity, network communication,etc. For instance, in some embodiments, one or more nonvolatile hardwarememory units having a minimum size (e.g., at least 1 gigabyte (GB), 2GB, 5 GB, etc.), and/or one or more volatile hardware memory unitshaving a minimum size (e.g., 256 megabytes (MB), 512 MB, 1 GB, etc.) maybe used in a device 501 (e.g., a mobile computing device 501, roadsideassistance computing platform 501, etc.), in order to store and executeroadside assistance control applications, receive requests for roadsideassistance, generate roadside assistance instructions, executeinstructions, generate user interfaces, etc. Memory 515 also may includeone or more physical persistent memory devices and/or one or morenon-persistent memory devices. Memory 515 may include, but is notlimited to, random access memory (RAM) 505, read only memory (ROM) 507,electronically erasable programmable read only memory (EEPROM), flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium that can be used to store the desired information and that can beaccessed by processor 503.

Processor 503 may include a single central processing unit (CPU), whichmay be a single-core or multi-core processor (e.g., dual-core,quad-core, etc.), or may include multiple CPUs. Processor(s) 503 mayhave various bit sizes (e.g., 16-bit, 32-bit, 64-bit, 96-bit, 128-bit,etc.) and various processor speeds (ranging from 100 MHz to 5 Ghz orfaster). Processor(s) 503 and its associated components may allow thesystem 501 to execute a series of computer-readable instructions, forexample, receive requests for roadside assistance, generate requests foradditional information, generate user interfaces, use machine learningto generate roadside assistance instructions, execute roadsideassistance instructions, and the like.

The computing device (e.g., a mobile computing device, computingplatform, server, external server, etc.) may operate in a networkedenvironment 500 supporting connections to one or more remote computers,such as terminals 550 and 551. The terminals 550 and 551 may be personalcomputers, servers (e.g., web servers, database servers), or mobilecommunication devices (e.g., mobile phones, portable computing devices,on-board vehicle-based computing systems, and the like), and may includesome or all of the elements described above with respect to thecomputing device 501. The network connections depicted in FIG. 5 includea local area network (LAN) 525 and a wide area network (WAN) 529, and awireless telecommunications network 533, but may also include othernetworks. When used in a LAN networking environment, the computingdevice 501 may be connected to the LAN 525 through a network interfaceor adapter 523. When used in a WAN networking environment, the device501 may include a modem 527 or other means for establishingcommunications over the WAN 529, such as network 531 (e.g., theInternet). When used in a wireless telecommunications network 533, thedevice 501 may include one or more transceivers, digital signalprocessors, and additional circuitry and software for communicating withwireless computing devices 540 (e.g., mobile phones, portable computingdevices, on-board vehicle-based computing systems, etc.) via one or morenetwork devices 535 (e.g., base transceiver stations) in the wirelessnetwork 533.

Also illustrated in FIG. 5 is a security and integration layer 560,through which communications may be sent and managed between the device501 (e.g., a user's personal mobile device, a roadside assistancecomputing platform or server, etc.) and the remote devices (550 and 551)and remote networks (525, 529, and 533). The security and integrationlayer 560 may comprise one or more separate computing devices, such asweb servers, authentication servers, and/or various networkingcomponents (e.g., firewalls, routers, gateways, load balancers, etc.),having some or all of the elements described above with respect to thecomputing device 501. As an example, a security and integration layer560 of a mobile computing device, computing platform, or a serveroperated by an insurance provider, financial institution, governmentalentity, or other organization, may comprise a set of web applicationservers configured to use secure protocols and to insulate the server501 from external devices 550 and 551. In some cases, the security andintegration layer 560 may correspond to a set of dedicated hardwareand/or software operating at the same physical location and under thecontrol of same entities as computing device 501. For example, layer 560may correspond to one or more dedicated web servers and network hardwarein an organizational datacenter or in a cloud infrastructure supportinga cloud-based data analysis system. In other examples, the security andintegration layer 560 may correspond to separate hardware and softwarecomponents which may be operated at a separate physical location and/orby a separate entity.

As discussed below, the data transferred to and from various devices inthe computing system 500 may include secure and sensitive data, such asdevice usage data, application usage data, vehicle data, insurance claimdata, and the like. Therefore, it may be desirable to protecttransmissions of such data by using secure network protocols andencryption, and also to protect the integrity of the data when stored onin a database or other storage in a mobile device, roadside assistancecomputing platform or server and other computing devices in the system500, by using the security and integration layer 560 to authenticateusers and restrict access to unknown or unauthorized users. In variousimplementations, security and integration layer 560 may provide, forexample, a file-based integration scheme or a service-based integrationscheme for transmitting data between the various devices in a system500. Data may be transmitted through the security and integration layer560, using various network communication protocols. Secure datatransmission protocols and/or encryption may be used in file transfersto protect to integrity of the data, for example, File Transfer Protocol(FTP), Secure File Transfer Protocol (SFTP), and/or Pretty Good Privacy(PGP) encryption. In other examples, one or more web services may beimplemented within the various devices 501 in the system 500 and/or thesecurity and integration layer 560. The web services may be accessed byauthorized external devices and users to support input, extraction, andmanipulation of the data (e.g., device usage data, location data,vehicle data, etc.) between the various devices 501 in the system 500.Web services built to support system 500 may be cross-domain and/orcross-platform, and may be built for enterprise use. Such web servicesmay be developed in accordance with various web service standards, suchas the Web Service Interoperability (WS-I) guidelines. In some examples,a web service may be implemented in the security and integration layer560 using the Secure Sockets Layer (SSL) or Transport Layer Security(TLS) protocol to provide secure connections between servers 501 andvarious clients 550 and 551 (e.g., mobile devices, data analysisservers, roadside assistance computing platform, etc.). SSL or TLS mayuse HTTP or HTTPS to provide authentication and confidentiality. Inother examples, such web services may be implemented using theWS-Security standard, which provides for secure SOAP messages using XMLencryption. In still other examples, the security and integration layer560 may include specialized hardware for providing secure web services.For example, secure network appliances in the security and integrationlayer 560 may include built-in features such as hardware-accelerated SSLand HTTPS, WS-Security, and firewalls. Such specialized hardware may beinstalled and configured in the security and integration layer 560 infront of the web servers, so that any external devices may communicatedirectly with the specialized hardware.

Although not shown in FIG. 5, various elements within memory 515 orother components in system 500, may include one or more caches, forexample, CPU caches used by the processing unit 503, page caches used bythe operating system 517, disk caches of a hard drive, and/or databasecaches used to cache content from database 521. For embodimentsincluding a CPU cache, the CPU cache may be used by one or moreprocessors in the processing unit 503 to reduce memory latency andaccess time. In such examples, a processor 503 may retrieve data from orwrite data to the CPU cache rather than reading/writing to memory 515,which may improve the speed of these operations. In some examples, adatabase cache may be created in which certain data from a database 521(e.g., internal data database, external data database, etc.) is cachedin a separate smaller database on an application server separate fromthe database server. For instance, in a multi-tiered application, adatabase cache on an application server can reduce data retrieval anddata manipulation time by not needing to communicate over a network witha back-end database server. These types of caches and others may beincluded in various embodiments, and may provide potential advantages incertain implementations of performing functions describes herein.

It will be appreciated that the network connections shown areillustrative and other means of establishing a communications linkbetween the computers may be used. The existence of any of variousnetwork protocols such as TCP/IP, Ethernet, FTP, HTTP and the like, andof various wireless communication technologies such as GSM, CDMA, WiFi,and WiMAX, is presumed, and the various computer devices and systemcomponents described herein may be configured to communicate using anyof these network protocols or technologies.

Additionally, one or more application programs 519 may be used by thevarious computing devices 501 within a roadside assistance controlcomputing system 500 (e.g., software applications, etc.), includingcomputer executable instructions for receiving roadside assistancerequests, generating requests for additional information, generatinguser interfaces, and the like.

As discussed herein, aspects described relate to efficient and accuratesystems for providing roadside assistance. For instance, as discussedherein, user interfaces generated based on features of a particularprofile, user or partner may aid in pre-populating data, identifyingnecessary data, and the like. Further, enabling entry of information inany order may streamline the process and result in fewer inaccuraciesand more efficient capture of information. Further, as discussed, theuse of machine learning may aid in providing efficient and accurateinstructions for providing roadside assistance.

One or more aspects of the disclosure may be embodied in computer-usabledata or computer-executable instructions, such as in one or more programmodules, executed by one or more computers or other devices to performthe operations described herein. Generally, program modules includeroutines, programs, objects, components, data structures, and the likethat perform particular tasks or implement particular abstract datatypes when executed by one or more processors in a computer or otherdata processing device. The computer-executable instructions may bestored as computer-readable instructions on a computer-readable mediumsuch as a hard disk, optical disk, removable storage media, solid-statememory, RAM, and the like. The functionality of the program modules maybe combined or distributed as desired in various embodiments. Inaddition, the functionality may be embodied in whole or in part infirmware or hardware equivalents, such as integrated circuits,Application-Specific Integrated Circuits (ASIC s), Field ProgrammableGate Arrays (FPGA), and the like. Particular data structures may be usedto more effectively implement one or more aspects of the disclosure, andsuch data structures are contemplated to be within the scope of computerexecutable instructions and computer-usable data described herein.

Various aspects described herein may be embodied as a method, anapparatus, or as one or more computer-readable media storingcomputer-executable instructions. Accordingly, those aspects may takethe form of an entirely hardware embodiment, an entirely softwareembodiment, an entirely firmware embodiment, or an embodiment combiningsoftware, hardware, and firmware aspects in any combination.Furthermore, such aspects may take the form of a computer programproduct stored by one or more computer-readable storage media havingcomputer-readable program code, or instructions, embodied in or on thestorage media. In addition, various signals representing data or eventsas described herein may be transferred between a source and adestination in the form of light or electromagnetic waves travelingthrough signal-conducting media such as metal wires, optical fibers, orwireless transmission media (e.g., air or space). In general, the one ormore computer-readable media may be and/or include one or morenon-transitory computer-readable media.

As described herein, the various methods and acts may be operativeacross one or more computing servers and one or more networks. Thefunctionality may be distributed in any manner, or may be located in asingle computing device (e.g., a server, a client computer, and thelike). For example, in alternative embodiments, one or more of thecomputing platforms discussed above may be combined into a singlecomputing platform, and the various functions of each computing platformmay be performed by the single computing platform. In such arrangements,any and/or all of the above-discussed communications between computingplatforms may correspond to data being accessed, moved, modified,updated, and/or otherwise used by the single computing platform.Additionally or alternatively, one or more of the computing platformsdiscussed above may be implemented in one or more virtual machines thatare provided by one or more physical computing devices. In sucharrangements, the various functions of each computing platform may beperformed by the one or more virtual machines, and any and/or all of theabove-discussed communications between computing platforms maycorrespond to data being accessed, moved, modified, updated, and/orotherwise used by the one or more virtual machines.

Aspects of the disclosure have been described in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications, andvariations within the scope and spirit of the appended claims will occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one or more of the steps depicted in theillustrative figures may be performed in other than the recited order,one or more steps described with respect to one figure may be used incombination with one or more steps described with respect to anotherfigure, and/or one or more depicted steps may be optional in accordancewith aspects of the disclosure.

1. A computing platform, comprising: a processing unit comprising aprocessor; and a memory unit storing computer-executable instructions,which when executed by the processing unit, cause the computing platformto: receive a request for roadside assistance; identify a profile of apartner entity; generate an interactive user interface based on theidentified profile, the interactive user interface including a firstportion and a second portion, the first portion including a plurality ofselectable options for providing additional information related to therequest for roadside assistance, the plurality of selectable optionsbeing generated based on the profile of the partner entity; receiveselection of a first option of the plurality of selectable options inthe first portion of the interactive user interface; identify, based onat least the first option, data for display in the second portion; causethe identified data for display in the second portion to be displayed inthe second portion of the interactive user interface; generate, based onone or more machine learning datasets, a roadside assistanceinstruction, generating the roadside assistance instruction includingidentifying, based on the one or more machine learning datasets, a pieceof equipment to dispatch in response to the request for roadsideassistance; and execute the roadside assistance instruction.
 2. Thecomputing platform of claim 1, wherein executing the roadside assistanceinstruction further includes dispatching a roadside assistance provider.3. The computing platform of claim 1, further including instructionsthat, when executed, cause the computing platform to: generate a firstrequest for additional information; transmit the generated first requestto a computing device; and receive response data in response to thetransmitted first request.
 4. The computing platform of claim 1, furtherincluding instructions that, when executed, cause the computing platformto: identify a user associated with the request; and wherein the partnerentity is identified based on the identified user by selecting thepartner entity from a plurality of partner entities associated with theuser.
 5. The computing platform of claim 1, further includinginstructions that, when executed, cause the computing platform to:receive additional information related to the request for roadsideassistance, wherein generating the roadside assistance instruction isfurther based on the additional information.
 6. The computing platformof claim 1, wherein the generated interactive user interface is uniqueto the profile.
 7. The computing platform of claim 6, wherein thegenerated interactive user interface includes fields unique to theprofile.
 8. A method, comprising: at a computing platform comprising atleast one processor, memory, and a communication interface: receiving,by the at least one processor and via the communication interface, arequest for roadside assistance; identifying, by the at least one, aprofile of a partner entity; generating, by the at least one processor,an interactive user interface based on the identified profile, theinteractive user interface including a first portion and a secondportion, the first portion including a plurality of selectable optionsfor providing additional information related to the request for roadsideassistance, the plurality of selectable options being generated based onthe profile of the partner entity; receiving, by the at least oneprocessor, selection of a first option of the plurality of selectableoptions in the first portion of the interactive user interface;identifying, by the at least one processor and based on at least thefirst option, data for display in the second portion; causing, by the atleast one processor, the identified data for display in the secondportion to be displayed in the second portion of the interactive userinterface; generating, by the at least one processor and based on one ormore machine learning datasets, a roadside assistance instruction,generating the roadside assistance instruction including identifying,based on the one or more machine learning datasets, a piece of equipmentto dispatch in response to the request for roadside assistance; andexecuting, by the at least one processor, the roadside assistanceinstruction.
 9. The method of claim 8, wherein executing the roadsideassistance instruction further includes dispatching a roadsideassistance provider.
 10. The method of claim 8, further including:generating, by the at least one processor, a first request foradditional information; transmitting, by the at least one processor andvia the communication interface, the generated first request to acomputing device; and receiving response data in response to thetransmitted first request.
 11. The method of claim 8, further including:identifying, by the at least one processor, a user associated with therequest; and wherein the partner entity is identified based on theidentified user by selecting the partner entity from a plurality ofpartner entities associated with the user.
 12. The method of claim 8,further including: receiving, by the at least one processor, additionalinformation related to the request for roadside assistance, whereingenerating the roadside assistance instruction is further based on theadditional information.
 13. The method of claim 8, wherein the generatedinteractive user interface is unique to the profile.
 14. The method ofclaim 13, wherein the generated interactive user interface includesfields unique to the profile.
 15. One or more non-transitorycomputer-readable media storing instructions that, when executed by acomputing platform comprising at least one processor, memory, and acommunication interface, cause the computing platform to: receive arequest for roadside assistance; identify a profile of a partner entity;generate an interactive user interface based on the identified profile,the interactive user interface including a first portion and a secondportion, the first portion including a plurality of selectable optionsfor providing additional information related to the request for roadsideassistance, the plurality of selectable options being generated based onthe profile of the partner entity; receive selection of a first optionof the plurality of selectable options in the first portion of theinteractive user interface; identify, based on at least the firstoption, data for display in the second portion; cause the identifieddata for display in the second portion to be displayed in the secondportion of the interactive user interface; generate, based on one ormore machine learning datasets, a roadside assistance instruction,generating the roadside assistance instruction including identifying,based on the one or more machine learning datasets, a piece of equipmentto dispatch in response to the request for roadside assistance; andexecute the roadside assistance instruction.
 16. The one or morenon-transitory computer-readable media of claim 15, wherein executingthe roadside assistance instruction further includes dispatching aroadside assistance provider.
 17. The one or more non-transitorycomputer-readable media of claim 15, further including instructionsthat, when executed, cause the computing platform to: generate a firstrequest for additional information; transmit the generated first requestto a computing device; and receiving response data in response to thetransmitted first request.
 18. The one or more non-transitorycomputer-readable media of claim 15, further including instructionsthat, when executed, cause the computing platform to: identify a userassociated with the request; and wherein the partner entity isidentified based on the identified user by selecting the partner entityfrom a plurality of partner entities associated with the user.
 19. Theone or more non-transitory computer-readable media of claim 15, furtherincluding instructions that, when executed, cause the computing platformto: receive additional information related to the request for roadsideassistance, wherein generating the roadside assistance instruction isfurther based on the additional information.
 20. The one or morenon-transitory computer-readable media of claim 15, wherein thegenerated interactive user interface is unique to the profile andwherein the generated interactive user interface includes fields uniqueto the profile.